www.gusucode.com > VC++ 新手写的简单客房管理系统源码程序 > VC++ 新手写的简单客房管理系统源码程序/code/tot/AskstateDialog.cpp
// AskstateDialog.cpp : implementation file // Download by http://www.NewXing.com #include "stdafx.h" #include "tot.h" #include "AskstateDialog.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CAskstateDialog dialog CAskstateDialog::CAskstateDialog(CWnd* pParent /*=NULL*/) : CDialog(CAskstateDialog::IDD, pParent) { //{{AFX_DATA_INIT(CAskstateDialog) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT if(!m_dab.Open(NULL,FALSE,FALSE,"ODBC;DSN=Room")) {AfxMessageBox("不能打开数据库");} } void CAskstateDialog::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CAskstateDialog) DDX_Control(pDX, IDC_LIST1, m_ListCtrl); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CAskstateDialog, CDialog) //{{AFX_MSG_MAP(CAskstateDialog) ON_BN_CLICKED(IDC_ASKSTATE, OnAskstate) ON_NOTIFY(LVN_COLUMNCLICK, IDC_LIST1, OnColumnclickList1) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CAskstateDialog message handlers void CAskstateDialog::OnAskstate() { // TODO: Add your control notification handler code here m_pSet.Open(); m_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES); m_ListCtrl.InsertColumn(0,_T("房间号"),LVCFMT_IMAGE|LVCFMT_LEFT); m_ListCtrl.InsertColumn(1,_T("姓名")); m_ListCtrl.InsertColumn(2,_T("身份证号")); m_ListCtrl.InsertColumn(3,_T("性别")); m_ListCtrl.InsertColumn(4,_T("入住时间")); m_ListCtrl.InsertColumn(5,_T("住宿天数")); m_ListCtrl.InsertColumn(6,_T("费用")); m_ListCtrl.InsertColumn(7,_T("房间级别")); m_ListCtrl.InsertColumn(8,_T("备注")); m_ListCtrl.InsertColumn(9,_T("总人数")); int j; for(j=0;j<10;j++) { m_ListCtrl.SetColumnWidth(j ,90); } //显示所有记录 int i=0; m_pSet.MoveFirst(); do { CString s; s.Format("%d",m_pSet.m_roomID); m_ListCtrl.InsertItem(i,s,0); m_ListCtrl.SetItemText(i,1,m_pSet.m_name); m_ListCtrl.SetItemText(i,2,m_pSet.m_personID); m_ListCtrl.SetItemText(i,3,m_pSet.m_sex); s=m_pSet.m_logtime.Format("%Y-%B-%d"); m_ListCtrl.SetItemText(i,4,s); s.Format("%d",m_pSet.m_day); m_ListCtrl.SetItemText(i,5,s); s.Format("%d",m_pSet.m_cost); m_ListCtrl.SetItemText(i,6,s); m_ListCtrl.SetItemText(i,7,m_pSet.m_class); m_ListCtrl.SetItemText(i,8,m_pSet.m_information); s.Format("%d",m_pSet.m_people); m_ListCtrl.SetItemText(i,9,s); i++; m_pSet.MoveNext(); } while(!m_pSet.IsEOF()); m_pSet.MoveFirst(); m_pSet.Close(); } void CAskstateDialog::OnColumnclickList1(NMHDR* pNMHDR, LRESULT* pResult) { NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; // TODO: Add your control notification handler code here int k=pNMListView->iSubItem; Sort(!m_bIsAsc,k); m_ListCtrl.DeleteAllItems(); // m_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES); m_ListCtrl.InsertColumn(0,_T("房间号"),LVCFMT_IMAGE|LVCFMT_LEFT); m_ListCtrl.InsertColumn(1,_T("姓名")); m_ListCtrl.InsertColumn(2,_T("身份证号")); m_ListCtrl.InsertColumn(3,_T("性别")); m_ListCtrl.InsertColumn(4,_T("入住时间")); m_ListCtrl.InsertColumn(5,_T("住宿天数")); m_ListCtrl.InsertColumn(6,_T("费用")); m_ListCtrl.InsertColumn(7,_T("房间级别")); m_ListCtrl.InsertColumn(8,_T("备注")); m_ListCtrl.InsertColumn(9,_T("总人数")); int j; for(j=0;j<10;j++) { m_ListCtrl.SetColumnWidth(j ,90); } //显示所有记录 int i=0; m_pSet.MoveFirst(); do { CString s; s.Format("%d",m_pSet.m_roomID); m_ListCtrl.InsertItem(i,s,0); m_ListCtrl.SetItemText(i,1,m_pSet.m_name); m_ListCtrl.SetItemText(i,2,m_pSet.m_personID); m_ListCtrl.SetItemText(i,3,m_pSet.m_sex); s=m_pSet.m_logtime.Format("%Y-%B-%d"); m_ListCtrl.SetItemText(i,4,s); s.Format("%d",m_pSet.m_day); m_ListCtrl.SetItemText(i,5,s); s.Format("%d",m_pSet.m_cost); m_ListCtrl.SetItemText(i,6,s); m_ListCtrl.SetItemText(i,7,m_pSet.m_class); m_ListCtrl.SetItemText(i,8,m_pSet.m_information); s.Format("%d",m_pSet.m_people); m_ListCtrl.SetItemText(i,9,s); i++; m_pSet.MoveNext(); } while(!m_pSet.IsEOF()); m_pSet.Close(); // *pResult = 0; } void CAskstateDialog::Sort(BOOL isAsc, int secol) { m_pSet.Open(); CODBCFieldInfo fieldInfo; m_pSet.GetODBCFieldInfo(secol,fieldInfo); if(isAsc) { m_pSet.m_strSort=fieldInfo.m_strName+" ASC"; m_bIsAsc=TRUE; } else { m_pSet.m_strSort=fieldInfo.m_strName+" DESC"; m_bIsAsc=FALSE; } m_pSet.Requery(); } //DEL CString CAskstateDialog::Select() //DEL { //DEL CString str; //DEL str.Format("%sRoom",m_Getstring); //DEL m_pSet.Open(AFX_DB_USE_DEFAULT_TYPE,str); //DEL //DEL return m_Getstring; //DEL }